#include<iostream>
#include<cstdio>
using namespace std;
int a[100],b[100],c[100],d[100],n;
bool flag=0;
void print()
{
	int i;
	for(i=1;i<=n;++i)
	{
		cout<<d[i]<<" ";
	}
	cout<<endl;
	flag=1;
}
void dfs(int dep)
{
	int r;
	if(dep==n+1)
	{
		print();
	}
	for(r=1;r<=n;r++)
	{
		if(!a[dep+r]&&!b[dep-r+n]&&!c[r])
		{
			d[dep]=r;
			a[dep+r]=1;
			b[dep-r+n]=1;
			c[r]=1;
			dfs(dep+1);
			a[dep+r]=0;
			b[dep-r+n]=0;
			c[r]=0;
		}
	}
	return;
}
int main()
{
	cin>>n;
	dfs(1);
	if(!flag)
		cout<<"no solution!"<<endl;
	return 0;
}
